The IEEE 1394-1995 standard, "1394-1995 Standard For A High Performance Serial Bus," is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. Isochronous data transfers are real-time transfers which take place such that the time intervals between significant instances have the same duration at both the transmitting and receiving applications. Each packet of data transferred isochronously is transferred in its own time period. An example of an ideal application for the transfer of data isochronously would be from a video recorder to a television set. The video recorder records images and sounds and saves the data in discrete chunks or packets. The video recorder then transfers each packet, representing the image and sound recorded over a limited time period, during that time period, for display by the television set. The IEEE 1394-1995 standard bus architecture provides multiple channels for isochronous data transfer between applications. A six bit channel number is broadcast with the data to ensure reception by the appropriate application. This allows multiple applications to simultaneously transmit isochronous data across the bus structure. Asynchronous transfers are traditional data transfer operations which take place as soon as possible and transfer an amount of data from a source to a destination.
The IEEE 1394-1995 standard provides a high-speed serial bus for interconnecting digital devices thereby providing a universal I/O connection. The IEEE 1394-1995 standard defines a digital interface for the applications thereby eliminating the need for an application to convert digital data to analog data before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data from the bus, not analog data, and will therefore not be required to convert analog data to digital data. The cable required by the IEEE 1394-1995 standard is very thin compared to other bulkier cables used to connect such devices. A node on the IEEE 1394-1995 serial bus is considered a logical entity with a unique address on the bus structure. Each node provides an identification ROM, a standardized set of control registers and its own address space.
The IEEE 1394-1995 serial bus provides plug and play capabilities for applications. Devices can be added and removed from an IEEE 1394-1995 bus while the bus is active. If a device is so added or removed the bus will then automatically reconfigure itself for transmitting data between the existing nodes. To control any of these devices, the user must manually operate each device separately through controls on the device. In the alternative, it is well known that infrared control devices exist for a variety of home entertainment type products such as television, VCR, and sound systems. There are even a number of so-called `universal remote` products available that can control a number of different brands or types of equipment.
If a more capable device with a central processing unit and enough internal memory to run an application, such as a computer system, settop box or a smart television is connected as one of the nodes within the network, then other simpler devices connected to the network may be controlled through one of the more capable devices. In such a configuration, the more capable device runs driving software specific to the particular simpler device which provides an interface to the user and allows the user to control and operate the device through the computer system. This driving software is typically packaged with the device and included on a floppy disk or CD-Rom. The driving software is then loaded into the more capable device by the user as part of the initialization procedure when the simpler device is first connected to the network or to the more capable device directly. For example, when a printer is first connected to a computer system, a user must load the printer driver software on the computer system before the computer system is able to recognize and communicate with the printer. After the printer driver software is loaded on the computer system, the user has the ability to control the operation of the printer through commands entered into the computer system. If the printer driver software is later updated, the user must obtain the software upgrade, again on a floppy disk or CD-Rom, and load it into the computer system. For devices configured for operation with computer systems of different platforms, such as MAC or PC based platforms, multiple disks, each including the driving software and capable of being loaded into one of the available platforms, must be included with the device. Simpler devices are devices such as printers, video cameras, compact disk players, video cassette recorders and stereo receivers, which do not have the capability to host or represent any other device. A simpler device will therefore not have the capability to provide an interface to a user allowing the user to control another device through the interface. A more capable device will have the capability to provide an interface through which a user can control another device.
When a simpler device is connected to an IEEE 1394-1995 serial bus network, the more capable devices within the IEEE 1394-1995 serial bus network must arbitrate amongst themselves to determine which of the more capable devices will represent and control the simpler device. Arbitration is the process of selecting one device from a group of devices which are competing to access a certain resource or to perform a certain operation. Several well-known arbitration protocols are available including equal-priority, fixed-priority, round robin, random-delay and queuing protocols. These protocols are not efficient in an IEEE 1394-1995 serial bus network environment because these available protocols were developed with the assumption that a requesting device only requests a resource when it needs the resource. In the IEEE 1394-1995 serial bus network environment, when a simpler device is connected to the IEEE 1394-1995 serial bus, each of the more capable devices will attempt to represent the simpler device. In this case, if the fixed priority protocol is used to arbitrate and assign the newly connected simpler device to a more capable device, the more capable device with the highest priority will get the newly connected simpler device and will eventually become overloaded while the other lower priority more capable devices will not represent any newly connected simpler devices. An arbitration protocol, such as the round robin protocol, does give each available more capable device an equal opportunity to represent a newly connected simpler device, but does not provide any opportunity for a later connected more capable device to represent the same number of simpler devices as an earlier connected more capable device. Using existing protocols, the arbitration and assignment of newly connected simpler devices will not generate an equal sharing of resources between the available more capable devices within a network of devices and will thus cause inefficiencies and potential delays within the network of devices.